<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<a href=""></a>
		<script>
			const a = document.querySelector("a");
			// 带标签模板字符串
			// 带标签的模板是模板字面量的一种更高级的形式，它允许你使用函数解析模板字面量。
			// 标签函数的第一个参数包含一个字符串数组，其余的参数与表达式相关。
			// 你可以用标签函数对这些参数执行任何操作，并返回被操作过的字符串
			//（或者，也可返回完全不同的内容，见下面的示例）。用作标签的函数名没有限制。
			// const person = "Mike";
			// const age = 28;
			// function myTag(strings, personExp, ageExp) {
			// 	const str0 = strings[0]; // "That "
			// 	const str1 = strings[1]; // " is a "
			// 	const str2 = strings[2]; // "."
			
			// 	const ageStr = ageExp > 99 ? "一百以上" : "小于九十九";
			
			// 	// 我们甚至可以返回使用模板字面量构建的字符串
			// 	return `${str0}${personExp}${str1}${ageStr}${str2}`;
			// }
			// const output = myTag`That ${person} is a ${age}.`;
			// console.log(output);
			
			function tagTest(strings, ...values) {
				// console.log(strings, values);
				let str = "";
				strings.forEach((item, index) => {
					str += item + (values[index] || "")
				})
				console.log(str);
				return tagTest;
			}
			const testStr = tagTest`str1 ${666}${789}`
				`str2 ${777}`;
			console.log(testStr);
		</script>
	</body>
</html>